#pragma once


#include <exception>
#include <string>
#include <memory>
#include "../utils/common_ptr.h"

class NullPointerException : public std::exception
{
public:
  NullPointerException() throw();
  NullPointerException(string_ptr &msg) throw();
  virtual const char *what() const throw();
  virtual ~NullPointerException() throw();

protected:
  string_ptr m_msg;
};
